39#ifdef PREINIT_SUPPORTED
43#ifdef MikroCCoreVersion
44 #if MikroCCoreVersion >= 1
49#include "drv_digital_out.h"
50#include "drv_digital_in.h"
73#define VELAIF820_PACKET_CMD_ACTION "/"
74#define VELAIF820_PACKET_CMD_SET "S"
75#define VELAIF820_PACKET_CMD_GET "G"
76#define VELAIF820_PACKET_CMD_PROFILE "."
77#define VELAIF820_PACKET_RESPONSE "@R"
78#define VELAIF820_PACKET_EVENT "@E"
79#define VELAIF820_PACKET_PARAM_DELIMITER ","
80#define VELAIF820_PACKET_END "\r\n"
86#define VELAIF820_CMD_SYS_PING "PING"
87#define VELAIF820_CMD_SYS_REBOOT "RBT"
88#define VELAIF820_CMD_SYS_DUMP "DUMP"
89#define VELAIF820_CMD_SYS_STORE_CONFIG "SCFG"
90#define VELAIF820_CMD_SYS_FACTORY_RESET "RFAC"
91#define VELAIF820_CMD_SYS_QUERY_FW_VERSION "QFV"
92#define VELAIF820_CMD_SYS_QUERY_RANDOM_NUM "QRND"
93#define VELAIF820_CMD_SYS_WRITE_USER_DATA "WUD"
94#define VELAIF820_CMD_SYS_READ_USER_DATA "RUD"
95#define VELAIF820_CMD_GAP_CONNECT "C"
96#define VELAIF820_CMD_GAP_CANCEL_CONNECTION "CX"
97#define VELAIF820_CMD_GAP_DISCONNECT "DIS"
98#define VELAIF820_CMD_GAP_START_ADV "A"
99#define VELAIF820_CMD_GAP_STOP_ADV "AX"
100#define VELAIF820_CMD_GAP_START_SCAN "S"
101#define VELAIF820_CMD_GAP_STOP_SCAN "SX"
102#define VELAIF820_CMD_GAP_QUERY_PEER_ADDRESS "QPA"
103#define VELAIF820_CMD_GAP_QUERY_RSSI "QSS"
104#define VELAIF820_CMD_SMP_QUERY_BONDS "QB"
105#define VELAIF820_CMD_SMP_DELETE_BOND "BD"
106#define VELAIF820_CMD_SMP_PAIR "P"
107#define VELAIF820_CMD_BT_QUERY_NAME "BTQN"
108#define VELAIF820_CMD_BT_CONNECT "BTC"
109#define VELAIF820_CMD_BT_CANCEL_CONNECTION "BTCX"
110#define VELAIF820_CMD_BT_DISCONNECT "BTDIS"
111#define VELAIF820_CMD_BT_QUERY_PEER_ADDRESS "BTQPA"
112#define VELAIF820_CMD_BT_QUERY_RSSI "BTQSS"
118#define VELAIF820_CMD_PROTOCOL_PARSE_MODE "PPM"
119#define VELAIF820_CMD_PROTOCOL_ECHO_MODE "PEM"
120#define VELAIF820_CMD_SYS_BT_ADDRESS "BA"
121#define VELAIF820_CMD_SYS_TX_POWER "TXP"
122#define VELAIF820_CMD_SYS_TRANSPORT "T"
123#define VELAIF820_CMD_GAP_DEVICE_NAME "DN"
124#define VELAIF820_CMD_GAP_DEVICE_APPEARANCE "DA"
125#define VELAIF820_CMD_GAP_ADV_DATA "AD"
126#define VELAIF820_CMD_GAP_SR_DATA "SRD"
127#define VELAIF820_CMD_GAP_ADV_PARAMS "AP"
128#define VELAIF820_CMD_GAP_SCAN_PARAMS "SP"
129#define VELAIF820_CMD_GAP_CONNECTION_PARAMS "CP"
130#define VELAIF820_CMD_SMP_PIN_CODE "BTPIN"
136#define VELAIF820_CMD_CYSPP_START "CYSPPSTART"
137#define VELAIF820_CMD_CYSPP_SET_PARAMS "CYSPPSP"
138#define VELAIF820_CMD_CYSPP_GET_PARAMS "CYSPPGP"
139#define VELAIF820_CMD_CYSPP_SET_PACKETIZATION "CYSPPSK"
140#define VELAIF820_CMD_CYSPP_GET_PACKETIZATION "CYSPPGK"
141#define VELAIF820_CMD_SPP_SEND_CMD "SPPS"
142#define VELAIF820_CMD_SPP_SET_CFG "SPPSC"
143#define VELAIF820_CMD_SPP_GET_CFG "SPPGC"
149#define VELAIF820_EVT_SYS_BOOT "BOOT"
150#define VELAIF820_EVT_SYS_ERROR "ERR"
151#define VELAIF820_EVT_SYS_FACTORY_RESET_COMPLETE "RFAC"
152#define VELAIF820_EVT_SYS_DUMP_BLOB "DBLOB"
153#define VELAIF820_EVT_GAP_ADV_STATE_CHANGED "ASC"
154#define VELAIF820_EVT_GAP_SCAN_STATE_CHANGED "SSC"
155#define VELAIF820_EVT_GAP_SCAN_RESULT "S"
156#define VELAIF820_EVT_GAP_CONNECTED "C"
157#define VELAIF820_EVT_GAP_DISCONNECTED "DIS"
158#define VELAIF820_EVT_GAP_CONNECTION_UPDATED "CU"
159#define VELAIF820_EVT_SMP_BOND_ENTRY "B"
160#define VELAIF820_EVT_SMP_PAIRING_REQUESTED "P"
161#define VELAIF820_EVT_SMP_PAIRING_RESULT "PR"
162#define VELAIF820_EVT_SMP_ENCRYPTION_STATUS "ENC"
163#define VELAIF820_EVT_SMP_PIN_ENTRY_REQUESTED "BTPIN"
164#define VELAIF820_EVT_BT_INQUIRY_RESULT "BTIR"
165#define VELAIF820_EVT_BT_NAME_RESULT "BTINR"
166#define VELAIF820_EVT_BT_INQUIRY_COMPLETED "BTIC"
167#define VELAIF820_EVT_BT_CONNECTED "BTCON"
168#define VELAIF820_EVT_BT_CONNECTION_STATUS "BTCS"
169#define VELAIF820_EVT_BT_CONNECTION_FAILED "BTCF"
170#define VELAIF820_EVT_BT_DISCONNECTED "BTDIS"
171#define VELAIF820_EVT_SPP_DATA_RECEIVED "SPPD"
177#define VELAIF820_PACKET_TYPE_EVENT 0
178#define VELAIF820_PACKET_TYPE_RESPONSE 1
184#define VELAIF820_RSP_TIMEOUT_1000MS 1000
185#define VELAIF820_CMD_TIMEOUT_5000MS 5000
186#define VELAIF820_WAIT_TIMEOUT_5S 5
187#define VELAIF820_WAIT_TIMEOUT_INFINITE 0
194#define VELAIF820_CMD_CODE_BUFFER_SIZE 20
195#define VELAIF820_PAYLOAD_BUFFER_SIZE 200
196#define VELAIF820_TX_DRV_BUFFER_SIZE 200
197#define VELAIF820_RX_DRV_BUFFER_SIZE 500
215#define VELAIF820_MAP_MIKROBUS( cfg, mikrobus ) \
216 cfg.tx_pin = MIKROBUS( mikrobus, MIKROBUS_TX ); \
217 cfg.rx_pin = MIKROBUS( mikrobus, MIKROBUS_RX ); \
218 cfg.hwe = MIKROBUS( mikrobus, MIKROBUS_AN ); \
219 cfg.rst = MIKROBUS( mikrobus, MIKROBUS_RST ); \
220 cfg.rts = MIKROBUS( mikrobus, MIKROBUS_CS ); \
221 cfg.spp = MIKROBUS( mikrobus, MIKROBUS_PWM ); \
222 cfg.cts = MIKROBUS( mikrobus, MIKROBUS_INT );
#define VELAIF820_CMD_CODE_BUFFER_SIZE
Vela IF820 driver buffer size.
Definition velaif820.h:194
#define VELAIF820_TX_DRV_BUFFER_SIZE
Definition velaif820.h:196
#define VELAIF820_PAYLOAD_BUFFER_SIZE
Definition velaif820.h:195
#define VELAIF820_RX_DRV_BUFFER_SIZE
Definition velaif820.h:197
void velaif820_cfg_setup(velaif820_cfg_t *cfg)
Vela IF820 configuration object setup function.
void velaif820_cmd_action(velaif820_t *ctx, uint8_t *cmd, uint8_t *params)
Vela IF820 cmd action function.
err_t velaif820_generic_write(velaif820_t *ctx, uint8_t *data_in, uint16_t len)
Vela IF820 data writing function.
void velaif820_set_cmd_mode(velaif820_t *ctx)
Vela IF820 set cmd mode function.
void velaif820_set_rst_pin(velaif820_t *ctx, uint8_t state)
Vela IF820 set RST pin function.
err_t velaif820_init(velaif820_t *ctx, velaif820_cfg_t *cfg)
Vela IF820 initialization function.
void velaif820_cmd_get(velaif820_t *ctx, uint8_t *cmd, uint8_t *params)
Vela IF820 cmd get function.
void velaif820_cmd_set(velaif820_t *ctx, uint8_t *cmd, uint8_t *params)
Vela IF820 cmd set function.
err_t velaif820_read_packet(velaif820_t *ctx)
Vela IF820 read packet function.
err_t velaif820_generic_read(velaif820_t *ctx, uint8_t *data_out, uint16_t len)
Vela IF820 data reading function.
uint8_t velaif820_get_hwe_pin(velaif820_t *ctx)
Vela IF820 get HWE pin function.
void velaif820_cmd_profile(velaif820_t *ctx, uint8_t *cmd, uint8_t *params)
Vela IF820 cmd profile function.
void velaif820_reset_device(velaif820_t *ctx)
Vela IF820 reset device function.
void velaif820_set_data_mode(velaif820_t *ctx)
Vela IF820 set data mode function.
uint8_t velaif820_get_cts_pin(velaif820_t *ctx)
Vela IF820 get CTS pin function.
void velaif820_set_rts_pin(velaif820_t *ctx, uint8_t state)
Vela IF820 set RTS pin function.
Vela IF820 Click configuration object.
Definition velaif820.h:271
pin_name_t rts
Definition velaif820.h:278
uint32_t baud_rate
Definition velaif820.h:284
pin_name_t cts
Definition velaif820.h:281
pin_name_t hwe
Definition velaif820.h:277
pin_name_t spp
Definition velaif820.h:280
bool uart_blocking
Definition velaif820.h:285
uart_data_bits_t data_bit
Definition velaif820.h:286
pin_name_t tx_pin
Definition velaif820.h:274
pin_name_t rx_pin
Definition velaif820.h:273
uart_stop_bits_t stop_bit
Definition velaif820.h:288
uart_parity_t parity_bit
Definition velaif820.h:287
pin_name_t rst
Definition velaif820.h:279
Vela IF820 Click response/event packet object.
Definition velaif820.h:232
uint8_t command[VELAIF820_CMD_CODE_BUFFER_SIZE]
Definition velaif820.h:234
uint8_t rsp_flag
Definition velaif820.h:233
uint8_t payload[VELAIF820_PAYLOAD_BUFFER_SIZE]
Definition velaif820.h:236
uint16_t rsp_result
Definition velaif820.h:235
Vela IF820 Click context object.
Definition velaif820.h:245
uint8_t uart_rx_buffer[VELAIF820_RX_DRV_BUFFER_SIZE]
Definition velaif820.h:259
digital_out_t rts
Definition velaif820.h:247
uart_t uart
Definition velaif820.h:256
digital_in_t hwe
Definition velaif820.h:252
uint8_t uart_tx_buffer[VELAIF820_TX_DRV_BUFFER_SIZE]
Definition velaif820.h:260
digital_in_t cts
Definition velaif820.h:253
digital_out_t rst
Definition velaif820.h:248
uint8_t cmd_buffer[VELAIF820_PAYLOAD_BUFFER_SIZE]
Definition velaif820.h:261
velaif820_rsp_evt_packet_t evt_pkt
Definition velaif820.h:262
digital_out_t spp
Definition velaif820.h:249
velaif820_return_value_t
Vela IF820 Click return value data.
Definition velaif820.h:297
@ VELAIF820_ERROR
Definition velaif820.h:299
@ VELAIF820_ERROR_TIMEOUT
Definition velaif820.h:300
@ VELAIF820_ERROR_CMD
Definition velaif820.h:301
@ VELAIF820_OK
Definition velaif820.h:298